const db = require('../db/index')

// 获取所有公告信息
exports.getNotice = (req, res) => {
    // 定义获取公告的sql语句，全部获取
    const sql = 'select * from notice left join teacher on notice.uid=teacher.id'
    db.query(sql, (err, results) => {
        // 如果异常，返回出去
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '获取公告成功！',
            data: results
        })
    })
}

// 指定用户获取自己的公告
exports.getNoticeMe = (req, res) => {
    const sql = 'select id,title,content,date from notice where uid=?'
    db.query(sql, req.user.id, (err, results) => {
        if (err) return res.cc(err)
        res.send({
            status: 0,
            message: '获取公告成功！',
            data: results
        })
    })
}

// 新增公告信息
exports.postNotice = (req, res) => {
    const noticeInfo = req.body
    // 解析token,将token的id用于新增公告的人员id
    noticeInfo.uid = req.user.id
    // 定义新增公告的sql语句
    const sql = 'insert into notice set ?'
    db.query(sql, noticeInfo, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('新增公告失败！')
        res.cc('新增公告成功！', 0)
    })
}

// 修改公告
exports.updateNotice = (req, res) => {
    // 定义修改公告的sql语句,通过公告id号进行检索
    const sql = 'update notice set ? where id=?'
    // 得到前端传过来的新增，用于修改
    db.query(sql, [req.body, req.body.id], (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('修改公告失败！')
        res.cc('修改公告成功！', 0)
    })
}

// 删除公告
exports.delNotice = (req, res) => {
    // 定义删除公告的sql语句,通过公告id号进行检索
    const sql = 'delete from notice where id=?'
    db.query(sql, req.body.id, (err, results) => {
        if (err) return res.cc(err)
        if (results.affectedRows !== 1) return res.cc('删除公告失败！')
        res.cc('删除公告成功！', 0)
    })
}